home *** CD-ROM | disk | FTP | other *** search
- global gMyAngle, gMissileDirection, h, v, gMissileSpeed, gLocH, gLocV, gMissileActive, gBaseRotation, gTempRot, gExplosionTime, gkount, gEPuppet, gTimely, gEDropTime, gLevel, gSelectUFO, gPoints, gBigBang, gEnemyDodge, gEnemySiden, gPause
-
- on prepareMovie
- gMissileSpeed = 3
- gMissileDirection = 0.0
- gLocH = 290
- gLocV = 320
- gMissileActive = 0
- gBaseRotation = 0
- gExplosionTime = 0
- sprite(18).loc = point(-20, -20)
- sprite(18).visible = 1
- sprite(15).loc = point(-20, -20)
- gkount = 0
- gEPuppet = 30
- gTimely = 1
- gEDropTime = random(90) + 60
- gSelectUFO = 1
- gLevel = 1
- member("LevelText").text = string(gLevel)
- gPoints = 0
- member("ScoreText").text = string(gPoints)
- gEnemyDodge = 0
- gEnemySiden = random(20) + 10
- gPause = 0
- sprite(19).visible = 0
- sprite(20).visible = 0
- gBigBang = 0
- sprite(17).visible = 0
- sprite(4).visible = 0
- cursor(200)
- member("missle").regPoint = point(5, 10)
- init_ParticleConstants()
- init_Particles()
- end
-
- on missileFly me
- gMyAngle = gMissileDirection * PI / 180.0
- h = sin(gMyAngle) * gMissileSpeed
- v = -cos(gMyAngle) * gMissileSpeed
- gLocH = gLocH + h
- gLocV = gLocV + v
- sprite(15).loc = point(gLocH, gLocV)
- end
-
- on missileFlyBackH
- gMyAngle = gMissileDirection * PI / 180.0
- h = sin(gMyAngle) * gMissileSpeed
- v = -cos(gMyAngle) * gMissileSpeed
- gLocH = gLocH - h
- gLocV = gLocV + v
- sprite(15).loc = point(gLocH, gLocV)
- end
-
- on moonCollision
- sprite(6).rotation = sprite(6).rotation + 1
- if sprite(6).intersects(15) then
- gMissileActive = 0
- gExplosionTime = 1
- sprite(18).locH = sprite(15).locH
- sprite(18).locV = sprite(15).locV
- sprite(18).visible = 1
- sprite(18).member = "SmallExplodeframe 01"
- sprite(15).locH = sprite(10).locH
- sprite(15).locV = sprite(10).locV
- gLocH = sprite(10).locH
- gLocV = sprite(10).locV
- gMissileSpeed = 55
- else
- if gExplosionTime >= 1 then
- gExplosionTime = gExplosionTime + 1
- if gExplosionTime < 10 then
- sprite(18).member = "SmallExplodeframe 0" & gExplosionTime
- else
- sprite(18).member = "SmallExplodeframe " & gExplosionTime
- end if
- if gExplosionTime >= 22 then
- sprite(18).visible = 0
- gExplosionTime = 1
- end if
- end if
- end if
- end
-
- on enemyMovement
- gTimely = gTimely + 1
- if gTimely > gEDropTime then
- if gLevel = 1 then
- gEDropTime = random(90) + 60
- else
- if gLevel = 2 then
- gEDropTime = random(80) + 40
- else
- if gLevel = 3 then
- gEDropTime = random(70) + 20
- else
- if gLevel = 4 then
- gEDropTime = random(60) + 10
- else
- if gLevel = 5 then
- gEDropTime = random(50) + 5
- end if
- end if
- end if
- end if
- end if
- sprite(gEPuppet).puppet = 1
- gSelectUFO = random(7)
- if (gSelectUFO >= 1) and (gSelectUFO <= 4) then
- sprite(gEPuppet).member = "droneship1"
- else
- if (gSelectUFO >= 5) and (gSelectUFO <= 6) then
- sprite(gEPuppet).member = "mothership1"
- else
- sprite(gEPuppet).member = "boss-ship2"
- end if
- end if
- sprite(gEPuppet).loc = point(random(280) + 150, -10)
- sprite(gEPuppet).backColor = 0
- sprite(gEPuppet).ink = 6
- gEPuppet = gEPuppet + 1
- gTimely = 1
- end if
- repeat with gkount = 30 to gEPuppet
- if sprite(gkount).puppet = 1 then
- sprite(gkount).locV = sprite(gkount).locV + 2
- if sprite(gkount).locV <= 250 then
- gEnemyDodge = gEnemyDodge + 1
- if gEnemyDodge <= gEnemySiden then
- sprite(gkount).locH = sprite(gkount).locH - 1
- else
- if gEnemyDodge <= (gEnemySiden + 25) then
- sprite(gkount).locH = sprite(gkount).locH + 1
- else
- gEnemyDodge = 0
- gEnemySiden = random(20) + 10
- end if
- end if
- else
- if sprite(gkount).locH < 260 then
- sprite(gkount).locH = sprite(gkount).locH + 2
- else
- if sprite(gkount).locH > 320 then
- sprite(gkount).locH = sprite(gkount).locH - 2
- else
- gEnemyDodge = gEnemyDodge + 1
- if gEnemyDodge <= gEnemySiden then
- sprite(gkount).locH = sprite(gkount).locH - 1
- else
- if gEnemyDodge <= (gEnemySiden + 25) then
- sprite(gkount).locH = sprite(gkount).locH + 1
- else
- gEnemyDodge = 0
- gEnemySiden = random(20) + 10
- end if
- end if
- end if
- end if
- end if
- end if
- if sprite(gkount).locH > 360 then
- if sprite(gkount).intersects(1) then
- sprite(gkount).locH = sprite(gkount).locH - 5
- end if
- next repeat
- end if
- if sprite(gkount).locH < 220 then
- if sprite(gkount).intersects(1) then
- sprite(gkount).locH = sprite(gkount).locH + 5
- end if
- end if
- end repeat
- end
-
- on EnemyCollision
- repeat with gkount = 30 to gEPuppet
- if sprite(gkount).intersects(2) then
- if gPause = 0 then
- gBigBang = 1
- sprite(17).visible = 1
- puppetSound(3, "large blast")
- end if
- gPause = 1
- end if
- end repeat
- if gBigBang >= 1 then
- sprite(17).member = "BigExplode" & gBigBang
- gBigBang = gBigBang + 1
- end if
- if gBigBang >= 22 then
- repeat with gkount = 30 to gEPuppet
- sprite(gkount).puppet = 0
- end repeat
- repeat with gkount = 300 to 325
- sprite(gkount).visible = 0
- end repeat
- sprite(21).visible = 1
- sprite(22).visible = 1
- sprite(23).visible = 1
- sprite(24).visible = 1
- sprite(25).visible = 1
- sprite(26).visible = 1
- member("levelScoreText01").text = "Final Score:" && string(gPoints)
- member("levelScoreText02").text = "Final Score:" && string(gPoints)
- puppetSound(5, "gameoverSound")
- sprite(19).visible = 1
- sprite(20).visible = 1
- sprite(4).visible = 1
- sprite(17).visible = 0
- cursor(-1)
- go(50)
- end if
- end
-